package com.mzpai.product.service;
import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.mzpai.product.model.StoreOrder;
import com.mzpai.product.model.User;
import com.mzpai.product.model.WstPayments;
import com.mzpai.product.vo.StoreCashierAccountReqVo;
import com.mzpai.product.vo.StoreOfflinePayOrderVo;
import com.mzpai.product.vo.StoreOnlinePayOrderVo;
import com.mzpai.product.vo.StoreOrderVo;
import com.mzpai.service.BaseService;
/**
 *
 * <b>订单列表 | Service</b><br>
 *
 * yanglijun 2021-04-09 23:51:49
 * 
 *  @version 1.0.0
 *
 */
public interface StoreOrderService extends BaseService<StoreOrder> {

	
	/***
	 * 返回vo 
	 * @param map
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageInfo<StoreOrderVo> getVoListPage(Map<String, Object> map, int pageNum, int pageSize);
	
	
	
	/**
	 * 创建到店付款结算订单
	 * @param cshierAccountReqVo
	 */
	StoreOfflinePayOrderVo createStoreOfflinePayOrder(StoreCashierAccountReqVo cshierAccountReqVo,User user,WstPayments wstPayments,String defaultOrderType);
	
	
	/**
	 * 创建在线支付结算订单
	 * @param cshierAccountReqVo
	 */
	StoreOnlinePayOrderVo createStoreOnlinePayOrder(StoreCashierAccountReqVo cshierAccountReqVo,User user,WstPayments wstPayments,String defaultOrderType);
	
	/**
	 * 根据订单id,查询订单信息
	 * @param orderId
	 * @return
	 */
	StoreOrder getOrderByCode(String orderId);


	/***
	 * 到店支付，扫用户支付吗，更新订单状态
	 * 增加提现余额
	 * @param orderInfo
	 */
	void updatePayOrder(StoreOrder orderInfo);
	
	/**
	 * 统计门店线下收款总额
	 * @param map
	 * @return
	 */
	Double countTotalPayPrice(Integer storeId,Integer isChannel);
	

}